package com.path.planning.util.path.entity;

import org.jgrapht.graph.DefaultWeightedEdge;

/**
 * 扩展DefaultWeightedEdge，加入自定义属性
 */
public class CustomEdge extends DefaultWeightedEdge {
    /**
     * 路径ID
     */
    private Integer edgeId;
    /**
     * 路径拓扑信息
     */
    private PathTopologyData pathTopologyData;
    /**
     * 道路类型
     */
    private NavigationConstants.PathTypeEnum edgeType;
    /**
     * 公路类型，仅有道路类型为ROAD时才有值
     */
    private NavigationConstants.RoadTypeEnum roadTypeEnum;

    public CustomEdge() {
    }

    // 构造函数，可以初始化自定义属性
    public CustomEdge(Integer edgeId) {
        this.edgeId = edgeId;
    }

    public Integer getEdgeId() {
        return edgeId;
    }

    public void setEdgeId(Integer edgeId) {
        this.edgeId = edgeId;
    }

    public PathTopologyData getPathTopologyData() {
        return pathTopologyData;
    }

    public void setPathTopologyData(PathTopologyData pathTopologyData) {
        this.pathTopologyData = pathTopologyData;
    }

    public NavigationConstants.PathTypeEnum getEdgeType() {
        return edgeType;
    }

    public void setEdgeType(NavigationConstants.PathTypeEnum edgeType) {
        this.edgeType = edgeType;
    }

    public NavigationConstants.RoadTypeEnum getRoadTypeEnum() {
        return roadTypeEnum;
    }

    public void setRoadTypeEnum(NavigationConstants.RoadTypeEnum roadTypeEnum) {
        this.roadTypeEnum = roadTypeEnum;
    }
}
